﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CoreNhaDat;

namespace BatDongSan.Manager
{
    public partial class ManNhaDat : System.Web.UI.Page
    {
        int _id;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _id = Convert.ToInt32(Request.QueryString["id"]);
                if (!IsPostBack)
                {
                    if (_id > 0)
                    {
                        btActiveNhaDat.Text = "Cập nhật";
                        LoadDataToUpdate(_id);
                    }
                    else
                    {
                        btActiveNhaDat.Text = "Thêm mới";
                        LoadDataToUpdate(0);
                    }
                    LoadProvinceList();
                }

            }
            catch { }
        }

        public void LoadProvinceList()
        {
            try
            {
                List<nlit_NhaDat> list = new List<nlit_NhaDat>();
                list = NhaDatBll.GetList(Utility.strConnect);

                grvNhaDat.DataSource = list;
                grvNhaDat.DataBind();
            }
            catch { }
        }

        public void LoadDataToUpdate(int id)
        {
            try
            {
                if (id > 0)
                {
                    nlit_NhaDat list = new nlit_NhaDat();
                    list = NhaDatBll.GetById(id, Utility.strConnect);
                    txtNhaDat.Text = list.Name;
                }
                else
                {
                    txtNhaDat.Text = "";
                }
            }
            catch { }
        }

        protected void grvNhaDat_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                nlit_NhaDat info = (nlit_NhaDat)e.Row.DataItem;

                HyperLink hplName = (HyperLink)e.Row.FindControl("hplName");
                hplName.NavigateUrl = string.Format("~/Manager/ManNhaDat.aspx?id={0}", info.Id);

                TextBox txtPosition = (TextBox)e.Row.FindControl("txtPosition");
                txtPosition.Text = info.OrderDisplay.ToString();


                LinkButton lnkbtActive = (LinkButton)e.Row.FindControl("lnkbtActive");
                if (Convert.ToBoolean(info.IsActive))
                {
                    lnkbtActive.Text = "hiện";
                    lnkbtActive.ForeColor = System.Drawing.Color.Gray; lnkbtActive.Font.Bold = false;
                }
                else { lnkbtActive.Text = "Ẩn"; lnkbtActive.ForeColor = System.Drawing.Color.Red; }
                lnkbtActive.Attributes.Add("id", info.Id.ToString());

                LinkButton lnkbtDelete = (LinkButton)e.Row.FindControl("lnkbtDelete");
                lnkbtDelete.OnClientClick = "return confirm('Bạn có chắc không?')";
                lnkbtDelete.Attributes.Add("id", info.Id.ToString());
            }
        }


        protected void lnkbtActive_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lnkbtActive = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtActive.Attributes["id"]);
                if (id > 0)
                {
                    if (lnkbtActive.ForeColor == System.Drawing.Color.Red)
                    {
                        //False
                        if (NhaDatBll.UpdateIsActive(id, true, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã xét Hiện thành công";
                            LoadProvinceList();
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                    else
                    {
                        //True
                        if (NhaDatBll.UpdateIsActive(id, false, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã chọn Tin #Ẩn thành công";
                            LoadProvinceList();
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                }
            }
            catch { }
        }
        protected void lnkbtDelete_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lnkbtDelete = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtDelete.Attributes["id"]);

                if (id > 0)
                {
                    if (NhaDatBll.UpdateIsDeleted(id, true, Utility.strConnect))
                    {
                        lbStatus.Text = "Bạn xóa thành công";
                    }
                    else
                    {
                        lbStatus.Text = "Thất bại rồi bạn à";
                    }
                    LoadProvinceList();
                }
            }
            catch { }
        }

        protected void grvNhaDat_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grvNhaDat.PageIndex = e.NewPageIndex;
            LoadProvinceList();
        }

        protected void btActiveNhaDat_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtNhaDat.Text.Trim()))
                {
                    lbStatus.Text = " Bạn cần nhập tên nhà đất.";
                    return;
                }
                nlit_NhaDat Info = new nlit_NhaDat();
                Info.Id = _id;
                Info.Name = txtNhaDat.Text.Trim();
                if (_id > 0)
                {
                    if (NhaDatBll.Update(Info, Utility.strConnect))
                    {
                        lbStatus.Text = "Cập nhật thông tin nhà đất thành công";
                        
                    }
                    else
                        lbStatus.Text = "Cập nhật thông tin nhà đất thất bại";
                }
                else
                {
                    Info.IsActive = true;
                    Info.IsDeleted = false;
                    Info.OrderDisplay = 0;
                    if (NhaDatBll.Insert(Info, Utility.strConnect) > 0)
                    {
                        lbStatus.Text = "Thêm mới thông tin nhà đất thành công";
                        
                    }
                    else
                        lbStatus.Text = "Thêm mới thông tin nhà đất thất bại";
                }
                LoadDataToUpdate(_id);
                LoadProvinceList();
            }
            catch { }
        }
        protected void btUpdatePosition_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (GridViewRow row in grvNhaDat.Rows)
                {
                    try
                    {
                        Label lbId = (Label)row.FindControl("lblId");
                        int id = Convert.ToInt32(lbId.Text);
                        TextBox txt = (TextBox)row.FindControl("txtPosition");
                        int pos = Convert.ToInt32(txt.Text);
                        NhaDatBll.UpdateOrderDisplay(id, pos, Utility.strConnect);
                    }
                    catch { }
                }
                LoadProvinceList();
            }
            catch { }
        }
    }
}